<template>
  <el-date-picker v-model="changeValue" popper-class="t-date-picker" v-bind="{ ...item }" />
</template>

<script>
import mixin from '../mixin'

function dateFormat(fmt, date) {
  let ret
  const opt = {
    'y+': date.getFullYear().toString(), // 年
    'M+': (date.getMonth() + 1).toString(), // 月
    'd+': date.getDate().toString(), // 日
    'H+': date.getHours().toString(), // 时
    'm+': date.getMinutes().toString(), // 分
    's+': date.getSeconds().toString() // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  }
  for (let k in opt) {
    ret = new RegExp('(' + k + ')').exec(fmt)
    if (ret) {
      fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'))
    }
  }
  return fmt
}

export default {
  name: 'TDateTime',
  mixins: [mixin],
  props: ['models'],
  created() {
    // models 存在说明为填写页面 表单设计器中无需填充默认值
    console.log(this.models)
    console.log(this.item.config.defaultNowTime)
    if (this.item.config.defaultNowTime && this.models) {
      // 使用简单方式格式化日期 避免过多引入依赖
      this.changeValue = dateFormat(this.item.format, new Date())
    }
  }
}
</script>

<style scoped></style>
